# @Time    : 2025/6/27 12:48
# @Author  : Lennert
# @FileName: __init__.py.py
# @Description : 这是一个示例
from pymongo import MongoClient

# 连接到MongoDB
# 连接到MongoDB
client = MongoClient('mongodb://xingle_rw:123456@202.199.6.248:27017/?authSource=ArkTS_NPM')
db = client['ArkTS_NPM']

library_info_collection = db['library_info']

def count_total_versions():
    """
    使用聚合管道计算整个数据库中共有多少个不同版本的库
    :return: 不同版本的总数
    """
    # 使用聚合管道计算总版本数
    pipeline = [
        {
            "$group": {
                "_id": None,  # 将所有文档分到一个组
                "total_versions": {"$sum": "$totalVersionNum"}  # 累加totalVersionNum
            }
        }
    ]

    result = list(library_info_collection.aggregate(pipeline))
    if result:
        return result[0]['total_versions']
    else:
        return 0


# 调用函数并打印结果
total_unique_versions = count_total_versions()
print(f"整个数据库中共有 {total_unique_versions} 个不同版本的库")